FastAPI অ্যাপ্লিকেশন ডেপ্লয়মেন্ট (Heroku, AWS, DigitalOcean)

FastAPI এর জন্য Continuous Integration এবং Deployment - ফাস্টএপিআই (FastAPI) - Web Development

238

FastAPI অ্যাপ্লিকেশন ডেপ্লয়মেন্টের জন্য বিভিন্ন ক্লাউড প্ল্যাটফর্মে কাজ করা যায়। এখানে আমরা দেখব কিভাবে Heroku, AWS, এবং DigitalOcean এ FastAPI অ্যাপ্লিকেশন ডেপ্লয় করা যায়।


১. Heroku-তে FastAPI অ্যাপ্লিকেশন ডেপ্লয় করা

Heroku একটি জনপ্রিয় ক্লাউড প্ল্যাটফর্ম যা Python অ্যাপ্লিকেশন খুব সহজে হোস্ট করতে দেয়। Heroku-তে FastAPI অ্যাপ ডেপ্লয় করার জন্য নিচের ধাপগুলো অনুসরণ করুন।

Step 1: Heroku অ্যাকাউন্ট তৈরি করুন

Heroku-তে অ্যাকাউন্ট তৈরি করতে Heroku ওয়েবসাইটে যান এবং একটি অ্যাকাউন্ট তৈরি করুন।

Step 2: Heroku CLI ইনস্টল করুন

Heroku অ্যাপ্লিকেশন ডেপ্লয় করতে Heroku CLI (Command Line Interface) ইনস্টল করতে হবে। এটি ইনস্টল করতে নিচের কমান্ড ব্যবহার করুন:

  • macOS:

    brew install heroku
    
  • Windows: Heroku CLI Download থেকে ডাউনলোড করুন।
  • Linux:

    curl https://cli-assets.heroku.com/install.sh | sh
    

Step 3: FastAPI অ্যাপের জন্য Procfile তৈরি করুন

Heroku-তে FastAPI অ্যাপ্লিকেশন চালানোর জন্য একটি Procfile তৈরি করতে হবে। এই ফাইলটি বলে দেয় কিভাবে অ্যাপটি চালাতে হবে।

Procfile:

web: uvicorn main:app --host=0.0.0.0 --port=${PORT:-5000}

এখানে, main হলো আপনার Python ফাইলের নাম এবং app হলো FastAPI অ্যাপের অবজেক্ট।

Step 4: Git রেপোজিটরি তৈরি করা

Heroku অ্যাপ্লিকেশন গিটের মাধ্যমে ডেপ্লয় করা হয়, তাই আপনাকে গিট রেপোজিটরি তৈরি করতে হবে।

git init
git add .
git commit -m "initial commit"

Step 5: Heroku অ্যাপ তৈরি করা

Heroku-তে একটি অ্যাপ তৈরি করতে:

heroku create your-app-name

Step 6: অ্যাপ ডেপ্লয় করা

আপনার FastAPI অ্যাপ্লিকেশন ডেপ্লয় করতে:

git push heroku master

Step 7: অ্যাপ্লিকেশন রান করা

Heroku-তে আপনার অ্যাপ রান করার জন্য:

heroku open

এটি আপনার ব্রাউজারে অ্যাপ্লিকেশন খুলবে। আপনি heroku logs --tail কমান্ড দিয়ে অ্যাপের লগও দেখতে পারেন।


২. AWS-তে FastAPI অ্যাপ্লিকেশন ডেপ্লয় করা

AWS (Amazon Web Services) এ FastAPI অ্যাপ্লিকেশন ডেপ্লয় করার জন্য EC2 (Elastic Compute Cloud) ব্যবহার করা হয়। এখানে একটি সাধারিত পদ্ধতি দেখানো হলো।

Step 1: EC2 ইন্সট্যান্স তৈরি করা

  1. AWS Management Console-এ লগইন করুন।
  2. EC2 সার্ভিসে যান এবং একটি নতুন t2.micro ইন্সট্যান্স তৈরি করুন (এটি ফ্রি টিয়ারের অংশ)।
  3. Security Group সেট করুন যাতে HTTP (80) এবং SSH (22) পোর্ট খোলা থাকে।
  4. ইন্সট্যান্স তৈরি হয়ে গেলে, তার Public IP নোট করুন।

Step 2: EC2 ইন্সট্যান্সে লগইন করা

EC2 ইন্সট্যান্সে SSH দিয়ে লগইন করুন।

ssh -i "your-key.pem" ec2-user@your-ec2-ip

Step 3: সার্ভারে FastAPI ইনস্টল করা

EC2 ইন্সট্যান্সে Python, Uvicorn, এবং অন্যান্য প্রয়োজনীয় প্যাকেজ ইনস্টল করুন।

sudo yum update -y
sudo yum install python3 -y
pip3 install fastapi uvicorn

Step 4: FastAPI অ্যাপ কোড আপলোড করা

SCP অথবা SFTP ব্যবহার করে আপনার FastAPI অ্যাপ্লিকেশন সার্ভারে আপলোড করুন।

Step 5: FastAPI অ্যাপ রান করা

আপনার অ্যাপ চালাতে:

uvicorn main:app --host=0.0.0.0 --port=80

এখন আপনার অ্যাপ http://your-ec2-ip থেকে অ্যাক্সেস করা যাবে।

Step 6: Nginx বা Gunicorn কনফিগার করা

Production পরিবেশে Nginx বা Gunicorn ব্যবহার করতে পারেন।


৩. DigitalOcean-এ FastAPI অ্যাপ্লিকেশন ডেপ্লয় করা

DigitalOcean একটি জনপ্রিয় ক্লাউড প্ল্যাটফর্ম যা সরলভাবে FastAPI অ্যাপ্লিকেশন হোস্ট করতে সহায়ক।

Step 1: DigitalOcean অ্যাকাউন্ট তৈরি করা

ডিজিটালওশনে একটি অ্যাকাউন্ট তৈরি করুন এবং একটি Droplet (ভি আর ওয়েব সার্ভার) তৈরি করুন।

Step 2: Droplet তৈরি করা

ড্রপলেট তৈরি করার সময়, আপনি Ubuntu ইমেজ এবং SSH key নির্বাচন করতে পারেন।

Step 3: Droplet-এ SSH দিয়ে লগইন করা

ssh root@your-droplet-ip

Step 4: সার্ভারে FastAPI ইনস্টল করা

আপনার ড্রপলেটে FastAPI, Uvicorn, এবং Python ইনস্টল করুন।

sudo apt update
sudo apt install python3-pip python3-dev
pip3 install fastapi uvicorn

Step 5: FastAPI অ্যাপ আপলোড করা

আপনার অ্যাপ সার্ভারে আপলোড করতে SCP ব্যবহার করুন অথবা সরাসরি কোড লিখে FastAPI অ্যাপ তৈরি করুন।

Step 6: FastAPI অ্যাপ চালানো

uvicorn main:app --host=0.0.0.0 --port=80

এখন আপনার অ্যাপ http://your-droplet-ip থেকে অ্যাক্সেস করা যাবে।

Step 7: Nginx দিয়ে ডেপ্লয় করা (ঐচ্ছিক)

উচ্চ পারফরম্যান্সের জন্য Nginx এবং Gunicorn ব্যবহার করুন।


FastAPI অ্যাপ্লিকেশনকে Heroku, AWS, এবং DigitalOcean এ ডেপ্লয় করা খুবই সহজ। উল্লিখিত পদ্ধতিতে আপনি বিভিন্ন প্ল্যাটফর্মে আপনার অ্যাপ্লিকেশনটি ডেপ্লয় করতে পারবেন এবং উন্নত স্কেলেবল অ্যাপ তৈরি করতে পারবেন। FastAPI-এর সাথে Celery বা Nginx ব্যবহার করে আপনি কার্যকরী এবং উচ্চ-পারফরম্যান্স অ্যাপ্লিকেশন ডেপ্লয় করতে পারেন।

Content added By
Promotion

Are you sure to start over?

Loading...